<?php
/**
 * Created by: zhaoyi (834574377@qq.com)
 * Time: 2023/1/4 10:29
 * Blog: https://www.yuque.com/huangzhenlian
 */

declare(strict_types=1);

namespace App\Application\Admin\Controller\RequestParam;

use App\Annotation\RequestParam;
use App\Controller\RequestParam\BaseRequestParam;

#[RequestParam]
class CouponSubmitRequestParam extends BaseRequestParam
{
    protected array $rules = [
        'name' => 'required|max:15',
        'type' => 'required',
        'price' => 'required',
        'money' => 'required',
        'condition' => 'required',
        'time' => 'required',
        'hours_add_time' => 'required',
        'hours_end_time' => 'required',
        'user_num' => 'required',
        'num' => 'required',
        'status' => 'required',
        'end_time' => 'required',
        'store_id' => 'required',

    ];
    protected array $message = [
        'name.required' => '请输入套餐名称',
        'name.max' => '套餐名称最长15个字',
        'price.required' => '请输入套餐价格',
        'money.required' => '请输入优惠卷面值',
        'condition.required' => '请输入满减金额',
        'time.required' => '请输入套餐时长',
        'hours_add_time.required' => '请输入开始时间',
        'hours_end_time.required' => '请输入结束时间',
        'user_num.required' => '请输入限领限购张数',
        'num.required' => '请输入库存张数',
        'status.required' => '请选择套餐状态',
        'type.required' => '请选择套餐类型',
        'end_time.required' => '请选择过期时间',
        'store_id.required' => '请选择店铺',
    ];
    private int $coupon_id = 0;
    private string $name = '';
    private float $price = 0;
    private float $money = 0;
    private float $condition = 0;
    private int $time = 0;
    private int $hours_add_time = 0;
    private int $hours_end_time = 0;
    private int $user_num = 0;
    private int $num = 0;
    private string $meituan_id = '';
    private string $trill_id = '';
    private int $status = 0;
    private int $receive = 0;
    private int $type = 0;
    private int $store_id = 0;
    private string $end_time = '';
    private string $roomids = '';
    /**
     * @return int
     */
    public function getCouponId(): int
    {
        return $this->coupon_id;
    }
    /**
     * @return int
     */
    public function getStoreId(): int
    {
        return $this->store_id;
    }


    /**
     * @return string
     */
    public function getName(): string
    {
        return $this->name;
    }
    /**
     * @return string
     */
    public function getEndTime(): string
    {
        return $this->end_time;
    }

    /**
     * @return string
     */
    public function getMeituanId(): string
    {
        return $this->meituan_id;
    }

    /**
     * @return string
     */
    public function getTrillId(): string
    {
        return $this->trill_id;
    }
    /**
     * @return string
     */
    public function getRoomids(): array
    {
        return $this->roomids;
    }
    /**
     * @return float
     */
    public function getPrice(): float
    {
        return $this->price;
    }
    /**
     * @return float
     */
    public function getMoney(): float
    {
        return $this->money;
    }

    /**
     * @return float
     */
    public function getCondition(): float
    {
        return $this->condition;
    }

    /**
     * @return int
     */
    public function getTime(): int
    {
        return $this->time;
    }

    /**
     * @return int
     */
    public function getHoursAddTime(): int
    {
        return $this->hours_add_time;
    }


    /**
     * @return int
     */
    public function getHoursEndTime(): int
    {
        return $this->hours_end_time;
    }
    /**
     * @return int
     */
    public function getUserNum(): int
    {
        return $this->user_num;
    }

    /**
     * @return int
     */
    public function getNum(): int
    {
        return $this->num;
    }
    /**
     * @return int
     */
    public function getStatus(): int
    {
        return $this->status;
    }
    /**
     * @return int
     */
    public function getReceive(): int
    {
        return $this->receive;
    }
    /**
     * @return int
     */
    public function getType(): int
    {
        return $this->type;
    }

}